package com.ftx.controller.test.algorithm;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

/**
 * Created by fengtingxin on 2019/4/1.
 * 给定一个整数数组 nums 和一个目标值 target，请你在该数组中找出和为目标值的那 两个 整数，并返回他们的数组下标。
 *
 * 你可以假设每种输入只会对应一个答案。但是，你不能重复利用这个数组中同样的元素。
 */
public class TwoSum {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "TwoSum{" +
                "name='" + name + '\'' +
                '}';
    }

    public static void main(String[] args) throws Exception{

//        int nums[] = {2, 7, 11, 15},target = 9;
//
//        System.out.println(twoSum(nums,target));

//        TwoSum twoSum = new TwoSum();
//        twoSum.setName("111");
//        setNames(twoSum);
//        System.out.println(twoSum);

        Calendar cal = Calendar.getInstance();
        //当前日期月份
        cal.add(Calendar.MONTH,0);
        //创建当前时间
        //设置时间格式为yyyy-MM-dd HH:mm:ss
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //获取到本月结束日
        int actualMaximum = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
        //设置本月结束日的年月日时分秒格式
        cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY),actualMaximum,23,59,59);
        //打印本月结束日的年月日时分秒格式
        System.out.println("这个月的最后一天是： " + sdf.format(cal.getTime()));
    }


    public static void setNames(TwoSum twoSum){
//        twoSum = new TwoSum();
        twoSum.setName("2222");
    }


    //穷举法
    static int[] twoSum(int[] nums, int target) throws Exception{
        if(nums == null || nums.length < 1){
            throw new Exception("非法入参");
        }
        //
        int[] result = new int[2];
        for (int i = 0 ;i < nums.length ;i++){
            for (int j = 0; j < nums.length ; j++){
                if (nums[i] + nums[j] == target){
                    result[0] = nums[i];
                    result[1] = nums[j];
                    System.out.println("result[0] is " + result[0]);
                    System.out.println("result[1] is " + result[1]);
                    return result;
                }
            }
        }
        System.out.println("service is wrong");
        return null;
    }
}
